package com.swpu.controller;

import org.springframework.web.bind.annotation.*;

/**
 * @author wales
 * <p>
 * Spring Boot Controller 接口开发基础
 *
 * <ul>
 *     <li> 1. @ 开头的英文单词 叫 注解，其作用是约束代码的作用域 </li>
 *     <li> 2. @RestController 注解 代表当前类中的方法中的数据可以跨本机、跨服务器、跨项目访问</li>
 *     <li> 3. @RequestMapping 注解 代表着设置网址/接口地址/请求地址 其本质就是设置一个 URL </li>
 * </ul>
 */
@RestController
@RequestMapping(value = "/login")
public class JavaSpringBootController {

    /**
     * GetMapping - 代表着当前的方法只能通过 GET 请求来访问 http://localhost:8080/login/find
     *
     * @return object
     */
    @GetMapping(value = "/find")
    public Object add() {
        var y = 1 + 1;
        return y + " Hello Get";
    }

    /**
     * PostMapping - 代表着当前的方法只能通过 POST 请求来访问 http://localhost:8080/login/insert
     *
     * @return object
     */
    @PostMapping(value = "/insert")
    public Object test() {
        return "Hello Post !";
    }

    /**
     * PutMapping - 代表着当前的方法只能通过 PUT 请求来访问 http://localhost:8080/login/update
     *
     * @return object
     */
    @PutMapping(value = "/update")
    public Object update() {
        return "Hello Update !";
    }

    /**
     * DeleteMapping - 代表着当前的方法只能通过 DELETE 请求来访问 http://localhost:8080/login/delete
     *
     * @return object
     */
    @DeleteMapping(value = "/delete")
    public Object delete() {
        return "Hello Delete";
    }

}
